﻿using BW.MesProject.Public.ErrorCode;
using BW.MesProject.WareHouse.Domain;
using BW.MesProject.WareHouse.Infrastructure.Dto.Input;
using BW.MesProject.WareHouse.Infrastructure.Dto.OutPut;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BW.MesProject.WareHouse.Infrastructure
{
    public interface IWareHouseServices
    {

        /// <summary>
        /// 添加仓库
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        ApiResult<int> AddWareHouse(WarehouseModel model);

        /// <summary>
        /// 查询仓库
        /// </summary>
        /// <param name="qryInput">查询参数</param>
        /// <returns>仓库列表</returns>
        ApiResult<List<WareHouseOut>> GetWareHouse(QryInput qryInput);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        ApiResult<int> UpdateWareHouse(WarehouseModel model);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        ApiResult<int> DeleteWareHouse(long Id);

        /// <summary>
        /// 启用停用
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> UpdateEnable(WarehouseModel model);

        /// <summary>
        /// 软删除
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> UpdateDelete(long Id);

        /// <summary>
        /// 查询编码
        /// </summary>
        /// <param name="Warehouseid"></param>
        /// <returns></returns>
        ApiResult<int> GetWareHouseID(string Warehouseid);
    }
}
